Ensure we initialize a quark first
authorMatthias Clasen <mclasen@redhat.com>
Fri, 6 May 2016 04:46:17 +0000 (00:46 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 6 May 2016 10:44:28 +0000 (06:44 -0400)
The style function here can also be called before the corresponding
class_init had a chance to create the quark. Fix this.

gtk/deprecated/gtkstyle.c

index 664330d54acde59733cd97a958594ece15fb526c..7bef213c73a56cb588dbfbd14d1a788b0f4b45af 100644 (file)
@@ -509,8 +509,6 @@ gtk_style_class_init (GtkStyleClass *klass)
                                   NULL, NULL,
                                   _gtk_marshal_VOID__VOID,
                                   G_TYPE_NONE, 0);
-
-  quark_default_style = g_quark_from_static_string ("gtk-legacy-default-style");
 }
 
 static void
@@ -4019,6 +4017,9 @@ gtk_widget_get_default_style_for_screen (GdkScreen *screen)
 {
   GtkStyle *default_style;
 
+  if G_UNLIKELY (quark_default_style == 0)
+    quark_default_style = g_quark_from_static_string ("gtk-legacy-default-style");
+
   default_style = g_object_get_qdata (G_OBJECT (screen), quark_default_style);
   if (default_style == NULL)
     {